﻿package main

import "fmt"

// 下面这个是闭包
// 下面这个函数的返回值是一个函数
// 并且返回的函数时一个int参数和一个int返回值
func Adder() func(int) int {
    var x int
    return func (delta int) int {
        x += delta
        return x
    }
}

func main() {
    f := Adder()
    fmt.Println(f(1))
    fmt.Println(f(10))
    fmt.Println(f(10))
}